package com.intelligence.tio.common;


/**
 * 客户端与服务器即时通讯Code代码标识
 */
public enum Command {
	
	/**
	 * <code>COMMAND_UNKNOW = 0;</code>
	 */
	COMMAND_UNKNOW(0),
	/**
	 * <pre>
	 * 握手请求，含http的websocket握手请求
	 * </pre>
	 *
	 * <code>COMMAND_HANDSHAKE_REQ = 1;</code>
	 */
	COMMAND_HANDSHAKE_REQ(1),
	
	/**
	 * <pre>
	 *握手响应，含http的websocket握手响应
	 * </pre>
	 *
	 * <code>COMMAND_HANDSHAKE_RESP = 2;</code>
	 */
	COMMAND_HANDSHAKE_RESP(2),
	/**
	 * <pre>
	 * 鉴权请求
	 * </pre>
	 *
	 * <code>COMMAND_AUTH_REQ = 3;</code>
	 */
	COMMAND_AUTH_REQ(3),
	/**
	 * <pre>
	 * 鉴权响应
	 * </pre>
	 *
	 * <code>COMMAND_AUTH_RESP = 4;</code>
	 */
	COMMAND_AUTH_RESP(4),
	/**
	 * <pre>
	 * 申请进入群组
	 * </pre>
	 *
	 * <code>COMMAND_JOIN_GROUP_REQ = 5;</code>
	 */
	COMMAND_JOIN_GROUP_REQ(5),
	/**
	 * <pre>
	 * 申请进入群组响应
	 * </pre>
	 *
	 * <code>COMMAND_JOIN_GROUP_RESP = 6;</code>
	 */
	COMMAND_JOIN_GROUP_RESP(6),
	/**
	 * <pre>
	 * 	申请发送群消息请求
	 * </pre>
	 *
	 * <code>COMMAND_SEND_GROUP_MSG_REQ = 20;</code>
	 */
	COMMAND_SEND_GROUP_MSG_REQ(20),
	/**
	 * <pre>
	 * 	申请发送群消息详情
	 * </pre>
	 *
	 * <code>COMMAND_SEND_GROUP_MSG_RESP = 21;</code>
	 */
	COMMAND_SEND_GROUP_MSG_RESP(21),
	
	/**
	 * <pre>
	 * 进入房间通知
	 * </pre>
	 *
	 * <code>COMMAND_JOIN_GROUP_NOTIFY_RESP = 7;</code>
	 */
	COMMAND_JOIN_GROUP_NOTIFY_RESP(7),
	/**
	 * <pre>
	 * 聊天请求
	 * </pre>
	 *
	 * <code>COMMAND_CHAT_REQ = 8;</code>
	 */
	COMMAND_CHAT_REQ(8),
	/**
	 * <pre>
	 * 聊天响应
	 * </pre>
	 *
	 * <code>COMMAND_CHAT_RESP = 9;</code>
	 */
	COMMAND_CHAT_RESP(9),
	/**
	 * <pre>
	 * 开播请求
	 * </pre>
	 *
	 * <code>COMMAND_START_SHOW_REQ = 10;</code>
	 */
	COMMAND_START_SHOW_REQ(10),
	/**
	 * <pre>
	 * 开播响应
	 * </pre>
	 *
	 * <code>COMMAND_START_SHOW_RESP = 11;</code>
	 */
	COMMAND_START_SHOW_RESP(11),
	/**
	 * <pre>
	 * 停播请求
	 * </pre>
	 *
	 * <code>COMMAND_END_SHOW_REQ = 12;</code>
	 */
	COMMAND_END_SHOW_REQ(12),
	/**
	 * <pre>
	 * 停播通知
	 * </pre>
	 *
	 * <code>COMMAND_END_SHOW_NOTIFY_RESP = 13;</code>
	 */
	COMMAND_END_SHOW_NOTIFY_RESP(13),
	/**
	 * <pre>
	 * 心跳请求
	 * </pre>
	 *
	 * <code>COMMAND_HEARTBEAT_REQ = 14;</code>
	 */
	COMMAND_HEARTBEAT_REQ(14),
	
	/**
	 * <pre>
	 * 心跳响应
	 * </pre>
	 *
	 * <code>COMMAND_HEARTBEAT_RESP = 32;</code>
	 */
	COMMAND_HEARTBEAT_RESP(32),
	/**
	 * <pre>
	 * 关闭请求
	 * </pre>
	 *
	 * <code>COMMAND_CLOSE_REQ = 15;</code>
	 */
	COMMAND_CLOSE_REQ(15),
	UNRECOGNIZED(-1),
	/**
	 * <pre>
	 *  在线用户列表请求
	 * </pre>
	 *
	 * <code>COMMAND_ONLINEUSERLIST_REQ = 24;</code>
	 */
	COMMAND_ONLINEUSERLIST_REQ(24),
	/**
	 * <pre>
	 *  在线用户列表响应
	 * </pre>
	 *
	 * <code>COMMAND_ONLINEUSERLIST_RESP = 25;</code>
	 */
	COMMAND_ONLINEUSERLIST_RESP(25),


	/**
	 * <pre>
	 *  聊天室用户上线请求
	 * </pre>
	 *
	 * <code>COMMAND_USERTOONLINE_REQ = 29;</code>
	 */
	COMMAND_USERTOONLINE_REQ(29),
	
	/**
	 * <pre>
	 *  聊天室用户上线响应
	 * </pre>
	 *
	 * <code>COMMAND_USERTOONLINE_RESP = 28;</code>
	 */
	 COMMAND_USERTOONLINE_RESP(28),
	 
	/**
	 * <pre>
	 *  数据发送格式错误响应
	 * </pre>
	 *
	 * <code>COMMAND_DATA_ERROR_RESP = 31;</code>
	 */
	 COMMAND_DATA_ERROR_RESP(31),

	/**
	 * <pre>
	 * 用户离线通知
	 * </pre>
	 *
	 * <code>COMMAND_OUTLINE_RESP = 33;</code>
	 */
	COMMAND_OUTLINE_RESP(33),

	/**
	 * <pre>
	 * 用户离线请求
	 * </pre>
	 *
	 * <code>COMMAND_OUTLINE_REQ = 34;</code>
	 */
	 COMMAND_OUTLINE_REQ(34),

	/**
	 * <pre>
	 * 用户踢人请求
	 * </pre>
	 *
	 * <code>COMMAND_KICKUSER_REQ = 35;</code>
	 */
	 COMMAND_KICKUSER_REQ(35),

	/**
	 * <pre>
	 * 用户踢人响应
	 * </pre>
	 *
	 * <code>COMMAND_KICKUSER_RESP = 36;</code>
	 */
	COMMAND_KICKUSER_RESP(36),
	
	/**
	 * <pre>
	 * 用户被踢出响应
	 * </pre>
	 *
	 * <code>COMMAND_USERKICKED_RESP = 38;</code>
	 */
	COMMAND_USERKICKED_RESP(38),

	/**
	 * <pre>
	 * 用户被挤掉响应
	 * </pre>
	 *
	 * <code>COMMAND_USERCONFLICT_RESP = 37;</code>
	 */
	COMMAND_USERCONFLICT_RESP(37),
	;

	/**
	 * <code>COMMAND_UNKNOW = 0;</code>
	 */
	public static final int COMMAND_UNKNOW_VALUE = 0;
	/**
	 * <pre>
	 *握手请求，含http的websocket握手请求
	 * </pre>
	 *
	 * <code>COMMAND_HANDSHAKE_REQ = 1;</code>
	 */
	public static final int COMMAND_HANDSHAKE_REQ_VALUE = 1;
	/**
	 * <pre>
	 *	握手响应，含http的websocket握手响应
	 * </pre>
	 *
	 * <code>COMMAND_HANDSHAKE_RESP = 2;</code>
	 */
	public static final int COMMAND_HANDSHAKE_RESP_VALUE = 2;
	/**
	 * <pre>
	 * 鉴权请求
	 * </pre>
	 *
	 * <code>COMMAND_AUTH_REQ = 3;</code>
	 */
	public static final int COMMAND_AUTH_REQ_VALUE = 3;
	/**
	 * <pre>
	 * 鉴权响应
	 * </pre>
	 *
	 * <code>COMMAND_AUTH_RESP = 4;</code>
	 */
	public static final int COMMAND_AUTH_RESP_VALUE = 4;
	/**
	 * <pre>
	 * 申请进入群组
	 * </pre>
	 *
	 * <code>COMMAND_JOIN_GROUP_REQ = 5;</code>
	 */
	public static final int COMMAND_JOIN_GROUP_REQ_VALUE = 5;
	/**
	 * <pre>
	 * 申请进入群组响应
	 * </pre>
	 *
	 * <code>COMMAND_JOIN_GROUP_RESP = 6;</code>
	 */
	public static final int COMMAND_JOIN_GROUP_RESP_VALUE = 6;
	
	/**
	 * <pre>
	 * 	申请发送群消息请求
	 * </pre>
	 *
	 * <code>COMMAND_SEND_GROUP_MSG_REQ = 20;</code>
	 */
	public static final int COMMAND_SEND_GROUP_MSG_REQ_VALUE = 20;
	/**
	 * <pre>
	 * 	申请发送群消息详情
	 * </pre>
	 *
	 * <code>COMMAND_SEND_GROUP_MSG_RESP = 21;</code>
	 */
	public static final int COMMAND_SEND_GROUP_MSG_RESP_VALUE = 21;
	
	/**
	 * <pre>
	 * 进入房间通知
	 * </pre>
	 *
	 * <code>COMMAND_JOIN_GROUP_NOTIFY_RESP = 7;</code>
	 */
	public static final int COMMAND_JOIN_GROUP_NOTIFY_RESP_VALUE = 7;
	/**
	 * <pre>
	 * 聊天请求
	 * </pre>
	 *
	 * <code>COMMAND_CHAT_REQ = 8;</code>
	 */
	public static final int COMMAND_CHAT_REQ_VALUE = 8;
	/**
	 * <pre>
	 * 聊天响应
	 * </pre>
	 *
	 * <code>COMMAND_CHAT_RESP = 9;</code>
	 */
	public static final int COMMAND_CHAT_RESP_VALUE = 9;
	/**
	 * <pre>
	 * 开播请求
	 * </pre>
	 *
	 * <code>COMMAND_START_SHOW_REQ = 10;</code>
	 */
	public static final int COMMAND_START_SHOW_REQ_VALUE = 10;
	/**
	 * <pre>
	 * 开播响应
	 * </pre>
	 *
	 * <code>COMMAND_START_SHOW_RESP = 11;</code>
	 */
	public static final int COMMAND_START_SHOW_RESP_VALUE = 11;
	/**
	 * <pre>
	 * 	停播请求
	 * </pre>
	 *
	 * <code>COMMAND_END_SHOW_REQ = 12;</code>
	 */
	public static final int COMMAND_END_SHOW_REQ_VALUE = 12;
	/**
	 * <pre>
	 * 	停播通知
	 * </pre>
	 *
	 * <code>COMMAND_END_SHOW_NOTIFY_RESP = 13;</code>
	 */
	public static final int COMMAND_END_SHOW_NOTIFY_RESP_VALUE = 13;
	/**
	 * <pre>
	 * 	心跳响应
	 * </pre>
	 * <code>COMMAND_HEARTBEAT_RESP = 14;</code>
	 */
	public static final int COMMAND_HEARTBEAT_RESP_VALUE = 32;
	
	/**
	 * <pre>
	 * 	心跳请求
	 * </pre>
	 * <code>COMMAND_HEARTBEAT_REQ = 14;</code>
	 */
	public static final int COMMAND_HEARTBEAT_REQ_VALUE = 14;
	
	
	/**
	 * <pre>
	 * 	关闭请求
	 * </pre>
	 *
	 * <code>COMMAND_CLOSE_REQ = 15;</code>
	 */
	public static final int COMMAND_CLOSE_REQ_VALUE = 15;



	/**
	 * <pre>
	 *  在线用户列表请求
	 * </pre>
	 *
	 * <code>COMMAND_ONLINEUSERLIST_REQ = 24;</code>
	 */
	public static final int COMMAND_ONLINEUSERLIST_REQ_VALUE = 24;
	/**
	 * <pre>
	 *  在线用户列表响应
	 * </pre>
	 *
	 * <code>COMMAND_ONLINEUSERLIST_RESP = 25;</code>
	 */
	public static final int COMMAND_ONLINEUSERLIST_RESP_VALUE = 25;


	
	/**
	 * <pre>
	 *  聊天室用户上线响应
	 * </pre>
	 *
	 * <code>COMMAND_USERTOONLINE_RESP = 28;</code>
	 */
	public static final int COMMAND_USERTOONLINE_RESP_VALUE = 28;


	/**
	 * <pre>
	 *  聊天室用户上线请求
	 * </pre>
	 *
	 * <code>COMMAND_USERTOONLINE_REQ = 29;</code>
	 */
	public static final int COMMAND_USERTOONLINE_REQ_VALUE = 28;
	
	/**
	 * <pre>
	 * 数据发送格式错误响应
	 * </pre>
	 *
	 * <code>COMMAND_DATA_ERROR_RESP = 32;</code>
	 */
	public static final int COMMAND_DATA_ERROR_RESP_VALUE = 32;


	/**
	 * <pre>
	 * 用户离线通知
	 * </pre>
	 *
	 * <code>COMMAND_OUTLINE_RESP = 33;</code>
	 */
	public static final int COMMAND_OUTLINE_RESP_VALUE = 33;



	/**
	 * <pre>
	 * 用户离线请求
	 * </pre>
	 *
	 * <code>COMMAND_OUTLINE_REQ = 34;</code>
	 */
	public static final int COMMAND_OUTLINE_REQ_VALUE = 34;

	/**
	 * <pre>
	 * 用户踢人请求
	 * </pre>
	 *
	 * <code>COMMAND_KICKUSER_REQ = 35;</code>
	 */
	public static final int COMMAND_KICKUSER_REQ_VALUE = 35;

	/**
	 * <pre>
	 * 用户踢人响应
	 * </pre>
	 *
	 * <code>COMMAND_KICKUSER_RESP = 36;</code>
	 */
	public static final int COMMAND_KICKUSER_RESP_VALUE = 36;
	
	
	/**
	 * <pre>
	 * 用户被踢出响应
	 * </pre>
	 *
	 * <code>COMMAND_USERKICKED_RESP = 38;</code>
	 */
	public static final int COMMAND_USERKICKED_RESP_VALUE = 38;

	/**
	 * <pre>
	 * 用户被挤掉响应
	 * </pre>
	 *
	 * <code>COMMAND_USERCONFLICT_RESP = 37;</code>
	 */
	public static final int COMMAND_USERCONFLICT_RESP_VALUE = 37;
	
	
	
	
	
	public final int getNumber() {
		if (this == UNRECOGNIZED) {
			throw new IllegalArgumentException("Can't get the number of an unknown enum value.");
		}
		return value;
	}

	public static Command forNumber(int value) {
		switch (value) {
		case 0:
			return COMMAND_UNKNOW;
		case 1:
			return COMMAND_HANDSHAKE_REQ;
		case 2:
			return COMMAND_HANDSHAKE_RESP;
		case 3:
			return COMMAND_AUTH_REQ;
		case 4:
			return COMMAND_AUTH_RESP;
		case 5:
			return COMMAND_JOIN_GROUP_REQ;
		case 6:
			return COMMAND_JOIN_GROUP_RESP;
		case 7:
			return COMMAND_JOIN_GROUP_NOTIFY_RESP;
		case 8:
			return COMMAND_CHAT_REQ;
		case 9:
			return COMMAND_CHAT_RESP;
		case 10:
			return COMMAND_START_SHOW_REQ;
		case 11:
			return COMMAND_START_SHOW_RESP;
		case 12:
			return COMMAND_END_SHOW_REQ;
		case 13:
			return COMMAND_END_SHOW_NOTIFY_RESP;
		case 14:
			return COMMAND_HEARTBEAT_REQ;
		case 15:
			return COMMAND_CLOSE_REQ;
		case 24:
			return COMMAND_ONLINEUSERLIST_REQ;
		case 25:
			return COMMAND_ONLINEUSERLIST_RESP;
		default:
			return null;
		}
	}

	
	private Integer value;
	
	 Command(int value) {
		this.value = value;
	}

	public Integer getValue() {
		return value;
	}

	public void setValue(Integer value) {
		this.value = value;
	}

}
